Automating actions within a phone network based upon scanned wireless signals

ABSTRACT

A method for automating actions within a network includes receiving at least one wireless signal from at least one wireless network device; determining identifying information associated with the at least one wireless signal; determining a scanned wireless fingerprint associated based upon the identifying information; matching the scanned wireless fingerprint to a stored wireless fingerprint; and initiating an action in response to matching of the scanned wireless fingerprint to the stored wireless fingerprint.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims benefit of U.S. Provisional Application No.61/544,370, filed Oct. 7, 2011, entitled AUTOMATING ACTIONS WITHIN APHONE NETWORK BASED UPON SCANNED WIRELESS SIGNALS, the specification ofwhich is incorporated herein in its entirety.

TECHNICAL FIELD

The following disclosure relates to use of wireless handheld devices andsurrounding wireless devices to take certain actions.

BACKGROUND

Systems exist for allowing the routing of a user's telephone calls orinitiating of actions based upon time of day. For example, a user can beprovided a set of rules such as “route calls to my office from 8 am-5pm, route calls to my mobile phone from 5 pm-7 pm, route calls to myhome phone from 7 pm-10 pm, and turn off my ringer at 10 pm.” Inaddition, systems exist for fixed location based actions in which thelocation of a mobile telephone is determined by GPS location. For“geofencing” a user could use a computer with a web browser to create avirtualized static “ring” or “box” around an area using a mouse and setup alarms for mobile telephones leaving that area. These areas could bea home, school, or other area that a parent deems safe.

SUMMARY

In one aspect thereof, a method for automating actions within a networkincludes receiving at least one wireless signal from at least onewireless network device; determining identifying information associatedwith the at least one wireless signal; determining a scanned wirelessfingerprint associated based upon the identifying information; matchingthe scanned wireless fingerprint to a stored wireless fingerprint; andinitiating an action in response to matching of the scanned wirelessfingerprint to the stored wireless fingerprint.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding, reference is now made to thefollowing description taken in conjunction with the accompanyingDrawings in which:

FIG. 1 illustrates an embodiment of a system for automating actionsbased upon scanned wireless signals in the proximity of a mobile unit;

FIG. 2 illustrates an embodiment of a mobile unit and a wireless networkdevice;

FIG. 3 illustrates an exemplary environment in which the mobile unitoperates within different locations in which each location has adifferent wireless fingerprint associated therewith;

FIG. 4 illustrates an example of an actual measured signal strength ofwireless network signals by the mobile unit and two stored wirelessfingerprints;

FIG. 5 illustrates an embodiment of a database within the server forstoring wireless fingerprints;

FIG. 6 illustrates an embodiment for executing a scanning procedure ofthe mobile unit;

FIG. 7 illustrates an embodiment of a procedure in which the scanningprocedure of the mobile unit automatically collects fingerprint data ofthe environment in which the mobile unit is located;

FIG. 8 illustrates an embodiment of a procedure for scanning wirelessnetwork devices and associating an action with a wireless fingerprint;

FIG. 9 illustrates an embodiment of a system for use in a residentialenvironment for controlling a set-top box by a mobile unit based upon adetected wireless fingerprint;

FIG. 10 illustrates an embodiment of a procedure for registering themobile unit with a set-top box of the residential environmentillustrated in FIG. 9;

FIG. 11 illustrates an embodiment of a procedure for controlling aregistered set-top box using a mobile unit based upon a detectedwireless fingerprint;

FIG. 12 illustrates a diagrammatic view of one application of thedisclosed system;

FIG. 13 illustrates a diagrammatic view of the application of FIG. 12;

FIG. 14 illustrates a flow chart for the operation of the application inFIG. 12; and

FIG. 15 illustrates a flow chart for scanning the devices by a mobileunit.

DETAILED DESCRIPTION

Referring now to the drawings, wherein like reference numbers are usedherein to designate like elements throughout, the various views andembodiments of automatic actions within a phone network based uponscanned wireless signals are illustrated and described, and otherpossible embodiments are described. The figures are not necessarilydrawn to scale, and in some instances the drawings have been exaggeratedand/or simplified in places for illustrative purposes only. One ofordinary skill in the art will appreciate the many possible applicationsand variations based on the following examples of possible embodiments.

FIG. 1 illustrates an embodiment of a system 100 for automating actionsbased upon the presence of scanned wireless signals in the proximity ofa mobile unit. In various embodiments, the system 100 provides aplatform for automating actions within a mobile unit such as a mobilephone, a tablet PC or within a network based upon the presence or lackthereof of detected wireless signals by the mobile unit. The system 100includes a mobile unit 102 having the capability to receive one or moretypes of wireless signals transmitted by wireless network devices orother wireless sources. In various embodiments, the mobile unit 102 mayinclude a cell phone, a smart phone, a PDA, a tablet device, or anyother type of network communication device. In the particular embodimentillustrated in FIG. 1, the mobile unit 102 includes a cellulartransceiver 104, a Bluetooth transceiver 106, a Wi-Fi transceiver 108,and a near field communication (NFC) or radio-frequency identification(RFID) transceiver 110. The cellular transceiver 104 includes thecapability to receive cellular signals transmitted by a provider network111. In particular embodiments, the cellular signals may include one ormore of CDMA, GSM, LTE, or any other cellular transmission technology.The Bluetooth transceiver 106 includes the capability to receive signalstransmitted using Bluetooth technology such as that specified by theIEEE standard 802.15.1 in the 2.4 GHz frequency spectrum. The Wi-Fitransceiver 108 is configured to receive signals transmitted by wirelessnetwork devices using Wi-Fi technology such as that specified in variousIEEE 802.11 standards. The near field communication (NFC) transceiver110 is configured to receive signals transmitted by wireless networkdevices using near field communication technologies such as thosespecified by ISO Standard 13157 using the 13.56 MHz frequency spectrumor RFID signals using technologies such as those specified by ISO/IEC14443, ISO 14223, ISO/IEC 15693, ISO/IEC 18000, ISO/IEC 18092, ISO18185, or ISO/IEC 21481 standards. Near field communication (NFC) allowsfor simplified transactions, data exchange and wireless connectionsbetween two devices in close proximity to one another, usually by nomore than a few centimeters. Also, 802.15.xx can be included such as the802.15.4 low power standard supporting such applications as Zigbee. Inanother embodiment, RFID technologies may have the same capabilities andcharacteristics as that of NFC technologies.

The system 100 includes a server 112 in communication with the providernetwork 111. The server 112 includes a database for storing variouswireless fingerprints as will be further described herein. The system100 further includes a plurality of Bluetooth wireless network devices114, a plurality of Wi-Fi wireless network devices 116, and a pluralityof NFC or RFID wireless network devices 118. The system 100 may furtherinclude a plurality of cellular towers. The Bluetooth wireless networkdevices 114 include a first Bluetooth wireless network device WND1 and asecond Bluetooth wireless network device WND2. The Bluetooth wirelessnetwork devices may include any wireless network device capable oftransmitting a Bluetooth signal including a laptop computer, a cellphone, a smart phone, a television or set-top box equipment, a Bluetoothequipped automobile or a Bluetooth headset. Bluetooth signalstransmitted by each of the Bluetooth wireless network devices 114 arereceived by the Bluetooth transceiver 106 of the mobile unit 102. TheWi-Fi wireless network devices 116 include a first Wi-Fi wirelessnetwork device WND3 and a second Wi-Fi wireless network device WND4. TheWi-Fi wireless network devices 116 transmit Wi-Fi signals which arereceived by the Wi-Fi transceiver 108 of the mobile unit 102. The Wi-Fiwireless network devices 116 may include a mobile device having Wi-Ficapability, a router, a wireless access point, or any other source ofWi-Fi signals. The NFC wireless network devices 118 include a first NFCwireless network device WND5, a second NFC wireless network device WND6,and a third NFC wireless network device WND7. The NFC wireless networkdevices 118 are configured to transmit NFC or RFID wireless signals.

In an exemplary operation of the system 100, the mobile unit 102contains a software application or operating system which, whenexecuted, has the capability to cause the mobile unit 102 to scan forthe presence of wireless signals received by one or more of the cellulartransceiver 104, the Bluetooth transceiver 106, the Wi-Fi transceiver108, and a near field communication (NFC) or RFID transceiver 110. In aparticular embodiment, the software application may be previouslydownloaded by a user to the mobile unit 102 from an application store,application marketplace, or a website. Upon detecting the one or morewireless signals, the mobile unit 102 obtains identifying informationfrom each of the wireless signals. In particular embodiments, the mobileunit 102 obtains a media access control (MAC) address or otheridentifier from the detected wireless signal. The MAC address uniquelyidentifies the wireless network device that transmits a particularwireless signal. For example, the MAC address may be associated with aWi-Fi device, a Bluetooth device, an NFC or RFID device. Additionally aunique identifier can be received from a cellular tower. In still otherembodiments, the mobile unit 102 may further determine signal strengthof each of the received signals, the time of reception of the signal bythe mobile unit 102, and the location of the mobile unit 102 when thesignal was received, such as by using GPS signals or cellular or WiFitriangulation. An advantage offered by the system 100 is that the mobileunit 102 does not have to actually establish a connection with aparticular wireless network device in order to obtain the identifyinginformation; it merely has to detect and receive a signal transmitted bysuch a wireless network device containing information unique to thatdevice such as a MAC address and also non unique information such as afriendly ID. In other embodiments, both a MAC address and user ID (UID)may be used to identify a wireless signal. For example, some devicessuch as iPhones® do not allow applications access to the MAC address ofa device from another iPhone®, but they do reveal a portion of theirdevice ID with is a hash of the serial number and the software ID. Thismay be unique on a software-by-software basis, so that one phone mayhave one ID for one application, and another unique ID for anotherapplication but such is unique to that phone or mobile unit.

Upon scanning the wireless signals transmitted from one or more wirelessnetwork devices by the mobile unit 102, the mobile unit 102 collectsidentifying information from each of the wireless signals and transmitsthe identifying information such as the MAC address, signal strength,time, and any other parameters to server 112 via the provider network111. The server 112 then performs one or more heuristic algorithms onthe collected information to determine a “wireless fingerprint”associated with the current proximity of information from the mobileunit 102. The wireless fingerprint is determined based upon theidentifying information associated with one or more of the wirelesssignals obtained during the scanning operation of the mobile unit 102 atthat specific relative device location and time. If the particularwireless fingerprint has not previously been registered with the server112, the user of the mobile unit 102 may be prompted to designate thewireless fingerprint as associated with the present location of themobile units 102. If the server 112 recognizes the wireless fingerprintas previously being registered, the server 112, in one embodiment sendsan indication to either the mobile unit 102 or another network device toperform an action associated with that particular wireless fingerprint.In one embodiment, the designated action may be an action that is to beperformed by the mobile unit 102. In still other embodiments, thedesignated action may be an action performed by a network device, suchas a switch, of the provider network 111. For example, an action whichmay be associated with the mobile unit 102 includes vibration of themobile unit 102, showing the location of an item on a map, displaying avideo on the mobile unit 102, or displaying an advertisement on themobile unit 102 upon detection of a particular wireless fingerprint.Another embodiment may be an action whereby a location indicator isplaced on a map, referred to as “dropping a pin on the map.”

In another example, recognition of a particular wireless fingerprint maycause the provider network 111 to change call routing or initiate a callvia a switch. For example, a user may designate a scan of theenvironment of an office for wireless signals and designate thatlocation as the user's office using the mobile unit 102. The server 112determines a wireless fingerprint associated with the office locationfrom the identifying information of the wireless signals and the usermay designate that, upon detection of the wireless fingerprintassociated with the office location, calls addressed to the mobile unit102 should be routed to a telephone within the office instead. In stillanother example, the recognition of a particular wireless fingerprintmay cause a network device such as a television, router, or set-top boxto perform a specific action upon detection of the mobile unit 102 beingin the presence of the associated wireless fingerprint. In a particularexample, music may be streamed from the mobile unit 102 to the networkdevice upon detection of a particular wireless fingerprint.

Although various embodiments may describe a wireless fingerprint asbeing associated with a “location” it should be understood that awireless fingerprint may not necessarily be associated with a staticlocation. For example, a user may associate a wireless Bluetooth signalassociated with a friend's mobile telephone to an action of vibratingthe mobile unit 102. Upon the detection of the wireless fingerprintassociated with the friend's mobile telephone by the mobile unit 102,such as when the friend arrives at the same party as the user, themobile unit 102 may automatically vibrate to indicate to the user thatthe friend has arrived. Further, the wireless fingerprint may comprisemultiple wireless inputs that are mobile.

Although it is described in various embodiments that the server 112performs various actions such as recognizing a wireless fingerprint anddetermining a fingerprint from detected signals, it should be understoodthat in other embodiments, recognition of a fingerprint and/ordetermining of a fingerprint may be performed by other devices such asby the mobile unit 102. Furthermore, additional network devices such ascellular networks or networking equipment on an internal wirelessinfrastructure (WLAN) could contain the recognition software as well. Inother embodiments, a Wi-Fi router contains the detection software andperforms the rules-based database lookup. In still other embodiments, acellular tower contains the detection software and performs therules-based database lookup.

FIG. 2 illustrates an embodiment of a mobile unit 102 and a wirelessnetwork device 218. The mobile unit 102 includes a radio transceiver 202configured to receive one or more wireless signals within theenvironment of the mobile unit 102. Although in the particularembodiment illustrated in FIG. 2, the wireless mobile unit 102 includesa single radio transceiver 202, it should be understood that the mobileunit 102 may include a number of different radio receivers eachconfigured to receive a different type of wireless signal such ascellular, Wi-Fi, Bluetooth, and NFC, as previously described. The mobileunit 102 further includes a MAC address scanner module 104 coupled tothe radio transceiver 202 and configured to determine a MAC addressassociated with a particular wireless signal received by the radiotransceiver 202. The mobile unit 102 further includes a signal strengthmodule 206 coupled to the radio transceiver 202 and configured todetermine a signal strength associated with the received wirelesssignal. The MAC address scanner module 204 and the signal strengthmodule 206 are further coupled to a processor 208 to provide the MACaddress and signal strength to the processor 208. The mobile unit 102includes a GPS module 210 configured to receive a GPS signal and providethe GPS signal to the processor 208 in order to determine a locationassociated with the mobile unit 102. In still other embodiments, themobile unit 102 may determine its location via cellular triangulation orany other method for location determination such as assisted GPS. Themobile unit 102 further includes a clock module 212 coupled to theprocessor 208 and configured to provide a time associated with thereception of a signal to the processor 208. The mobile unit 102 includesa user interface 214 coupled to the processor 208 to allow a user toprovide user inputs to the processor 208 as well as allow the processor208 to provide outputs to the user. For example, in a particularembodiment, the user interface may include a touch screen or keypad toprovide input to the mobile unit 102, and a display screen to provideoutput to the user. The mobile unit 102 further includes a memory 216coupled to the processor configured to store the scanning application,identifying information associated with received wireless signals suchas MAC addresses and signal strengths, locations and times, as well asstore other data required by the mobile unit 102 during operation.

The wireless network device 218 has a MAC address 220 uniquelyassociated with the wireless network device 218 and a message envelope222. The wireless network device 218 transmits a wireless signal withina message envelope 222 which includes the MAC address 220. This isbasically a “broadcast” as all listening devices can receive thisinformation without the requirement for bi-directional communication.The radio transceiver 202 of the mobile unit 102 receives the wirelesssignal transmitted from the wireless network device 218, extracts theMAC address associated with the wireless signal and determines a signalstrength associated with the wireless signal. The mobile unit 102 mayfurther determine a GPS location and time of receipt associated with thereceived wireless signal from the GPS module 210 and clock module 212,respectively. The mobile unit 102 then transmits the identifyinginformation associated with the wireless signals received from thewireless network device 218 to the server 112 via the radio transceiver202.

FIG. 3 illustrates an exemplary environment 300 in which the mobile unit102 operates within different locations in which each location has adifferent wireless fingerprint associated therewith. In the embodimentillustrated in FIG. 3, the mobile unit 102 is illustrated as being inthree different physical locations as will be further described. Theenvironment 300 includes a number of wireless network devices (WNDs)A-M. In a first location of the mobile unit 102, the mobile unit 102possesses a reception range 302 in which the mobile unit 102 is able toreceive wireless signals from wireless network devices A, B, C, D, E.The pattern can be any space and the circular shape is by way of exampleonly. It should be understood that the reception pattern has a receptionboundary defined by the weakest signal that can be received, this afunction of the sensitivity of the receiver, the antenna gain,atmosphere and environmental conditions, etc. From the wireless signalstransmitted by each of wireless network devices (WNDs) A-E, a firstwireless fingerprint FP1 is obtained consisting of identifyinginformation from respective wireless signals transmitted by wirelessnetwork devices A, B, C, D and E. Although for simplicity the embodimentillustrated in FIG. 3 is shown as using identifiers associated with eachof the wireless network devices as a fingerprint, it should beunderstood that the actual fingerprint may include a MAC address, signalstrength, time, and location of each of the wireless signals as well asother identifying information. In a second location, the mobile unit 102has a reception area 304 which encompasses the wireless signals emittedby a wireless network device E, F, G, and H. The resulting secondfingerprint FP2 includes the wireless signals transmitted from wirelessnetwork devices E, F, G, and H. In a third location, the mobile unit 102has a reception area 304 which encompasses the wireless signal from onlya single wireless network device I. The resulting third wirelessfingerprint FP3 includes the wireless signal transmitted by wirelessnetwork device I. In the embodiment illustrated in FIG. 3, wirelessnetwork devices J, K, L and M sources represent wireless signals whichare not received by the mobile unit 102 while the mobile unit 102 is atany of the illustrated three locations of the environment 300.

FIG. 4 illustrates an example of an actual measured signal strength ofwireless network signals by the mobile unit 102 and two stored wirelessfingerprints. In FIG. 4, an actual measured signal strength of wirelesssignals received by a mobile unit 102 at a particular location is shownin 402. A stored wireless fingerprint “Stored A” is illustrated by 404,and a stored wireless fingerprint “Stored B” is illustrated by 406. Thewireless fingerprint Stored A (404) and wireless fingerprint Stored B(406) are stored within the database of the server 112. The baselinerepresents the plethora of possible devices that may exist in a globaldatabase.

The actual measured signals 402 are compared against the storedfingerprints Stored A and Stored B by the server 112 to determinewhether the actual measured signals are an acceptable match to a storedwireless fingerprint. In various embodiments, the server may useheuristics to determine whether the actual measured signals 402 match astored fingerprint Stored A (404) or stored B (406). As can be seen inFIG. 4, none of the stored fingerprints (404, 406) are an exact match ofthe actual measured wireless signals 402. Signal strengths of the actualsignals 402 differ from those of the stored fingerprints 404 and 406,i.e., different devices, signal strengths, etc. In addition, the storedfingerprints 404 and 406 contain signals that are not present in theactual measured signals 402. In a particular embodiment, the server 112may determine that fingerprint Stored A 404 is the closest match to theactual measured signals 402 and that it matches fingerprint Stored A 404to an acceptable level. As a result, the server 112 will send anindication, for example to the mobile unit 102, to perform an actionassociated with fingerprint Stored A (404).

The aspect of what constitutes a match is not necessarily an “exact”match. The comparison operation is one that compares the capturedfingerprint with the data store and determines the best match. It may bethat there is only a 70% match and a threshold is set that declares thisas the best match. Suppose that only three know devices were sensed asbeing present. An algorithm can be set that determines a best match tobe having at least three devices present that match to any storedfingerprint and at least one of those having associated attributes inthe captured fingerprint that is within 90% of the storedfingerprint—one of those attributes possibly being signal strength. In aHeuristic type algorithm, there is a voting algorithm that can beemployed wherein, if there are five fingerprints that have at least 60%of the devices precent—for example—then a vote is taken as to which isthe closest as to stored attributes. As such, it is not necessary todetermine an exact match but, rather, the best match based on a set ofpredetermined criteria.

Referring further to FIG. 4, the actual measurement 402 is illustratedas having multiple devices that are present within the scanning range ofthe mobile unit. There is provided a device 410, a device 412, a device414, a device 416 and a device 418, all of these represented by theirrelative signal strengths. It can be seen that the device 412 has asignal strength that is higher than all the others. The device 418 hasthe second strongest signal strength of all, followed by the device 414,followed by the device 410 and followed by the device 416. It should beunderstood that the signal strength is a function of orientation of amobile unit and various environmental conditions. For example, if amobile device were disposed in a static position within an environment,the environment may actually change. For example, people could be movingaround in the environment and this would change the RF characteristicsof the room. This might attenuate one or more of the signals of thedevices 410-418. However, each of the devices would have some unique IDsuch as a MAC address in addition to the associated signal strength at aparticular given time.

With respect to the archived fingerprint 404, the initial Stored Afingerprint 404, it can be seem that there is a device 410′, a device412′, a device 414′, a device 416′ and a device 418′ that are associatedwith that fingerprint. These devices 410′-418′ correspond to the devices410-418 in the actual fingerprint 402. Thus, the Stored A fingerprint404 illustrates all of the same devices as well as an additional device420. Thus, at some point in time, another mobile unit or the same mobileunit had measured the presence of these five devices 410′-418′ as wellas an additional device 420. It may have been in the same room or adifferent position in the room, as the signal strengths are slightlydifferent.

With respect to the Stored B fingerprint 406, it can be seen that thereare devices 410″, 412″, 414″, 420′, 416″ and 418″. Thus, the devices410″-418″ correspond to the devices 410-418 of fingerprint 402 in theactual measured fingerprint. The additional device 420′ over that in theactual fingerprint corresponds to the device 420 in the Stored Afingerprint 404. Thus, whenever the Stored B fingerprint 406 was takenby either the same mobile device or a different mobile device andstored, the same devices were present in the Stored B fingerprint 406 aswere present in the current measured fingerprint 402 with the additionof device 420′ corresponding to device 420 in the Stored A fingerprint404. Of course, there were different signal strengths. Additionally,there is a further device 422 that exists in the Stored B fingerprint406 but was not present in either the actual current measuredfingerprint 402 or the Stored A fingerprint 404.

Each of the devices 410-418 and 420 and 422 can be realized with anytype of RF device that radiates power and an ID that can be picked up bythe radio receiver in the mobile device. Some of these devices areBluetooth devices or other types of 802.xx.xxx devices. Bluetoothdevices, for example, have a sleep mode such that they are not alwaystransmitting. It could be that the device 422 was actually asleep whenthe Stored A fingerprint 404 was taken or when the actual fingerprint402 was taken. Thus, the device 422 may still be within the environmentof the mobile device at the time of the fingerprint 402 but the device420 was actually in sleep mode at that time. Of course, if enoughsamples were taken over a longer period of time, the devices may “popup” and be included in the fingerprint.

The comparison of the actual fingerprint with the two storedfingerprints is, as described hereinabove, done with some type ofalgorithm utilizing, for example, heuristics. This particular heuristicsalgorithm, although it is not the only algorithm that could be utilized,is one that basically “votes” which fingerprint is the closest due tothe nature of the observed wireless technology. There may be, forexample, a dominant device such as a device 412 that must be there forthe fingerprints to have a valid comparison. For example, it might bethat a particular MAC address is required to be present as is associatedwith a WiFi device, which would have a larger radio “footprint” thanBluetooth or NFC, which are typically shorter range. This could beindicated by the friendly name that is associated with that particularname 412. If that device were there, that would be first aspect thatwould be required in order to have a match (there can also be someweighting as to certain MAC addresses as to their fixed or mobilenature). Thereafter, there may be other devices that would be required,as these devices are considerably more semi-permanent devices. Thoughthe number of devices that match with the devices in the actualfingerprint 402 would be one factor, the signal strength of the deviceswould be another factor and the lack of additional devices would be aneven further factor. Thus, the Stored A fingerprint 404 may better matchthe actual fingerprint 402.

FIG. 5 illustrates an embodiment of a database 500 within the server 112for storing wireless fingerprints. The database 500 contains fieldsassociated with each of the wireless signals detected by the mobile unit102 which are used in determining a particular wireless fingerprint. Thedatabase 500 includes a MAC address field 502, a time field 504, a GPSlocation field 506, a signal strength field 508, a mobile unit ID field510 and a fingerprint group 512. The MAC address field 502 includes aMAC address associated with a particular wireless signal, the time fieldincludes the time of reception of a particular wireless signal, the GPSlocation field 506 includes a GPS location of the mobile unit 102 at thetime of the reception of a particular wireless signal, and a signalstrength field 508 includes a measured signal strength of a particularwireless signal. The mobile unit ID field 510 includes a mobile unit IDassociated with the mobile unit 102, and the fingerprint group field 512contains an indication of a particular fingerprint to which the detectedwireless signal belongs.

FIG. 6 illustrates an embodiment of a procedure 600 for a executing ascanning procedure of the mobile unit 102. In various embodiments, thescanning procedure is performed by a software application executed bythe mobile unit 102. In step 602, the mobile unit 102 scans thefrequency spectrums receivable by the mobile unit 102 for the presenceof wireless network device signals and determines the MAC address,signal strength, and time of reception of any wireless signal receivedfrom a wireless network device. In step 604 it is determined whether allof the receivable wireless signals have been accumulated. If not all ofthe receivable wireless signals have been accumulated, the procedurereturns to step 602 in which scanning is continued. If all thereceivable wireless network signals have been accumulated, the procedurecontinues to step 606 in which the MAC address, signal strength and timeof reception of each of the detected wireless network signals are sentto the server 112. In some embodiments, the location of the mobile unit102 during the reception of each of the wireless network signals mayalso be sent to the server 112. In step 608 it is determined whether awireless fingerprint represented by the received wireless networksignals is recognized by the server 112. The server 112 determineswhether the received wireless network signals match a fingerprint in thedatabase of the server 112 using heuristic or any other algorithm. Ifthe wireless fingerprint is not recognized, the procedure continues tostep 610 in which a procedure to create a fingerprint associated withthe currently received wireless signals is initiated. This procedurewill be further described herein with respect to FIG. 8. If thefingerprint is recognized in step 608, a fingerprint identifier isreturned in step 612. In step 614, it is determined whether an action isrequired due to the detection of the wireless fingerprint. If no actionis required, the procedure returns to the start. If it is determined instep 612 that an action is required, the required action is taken instep 614 and the procedure returns to the start.

FIG. 7 illustrates an embodiment of a procedure 700 in which thescanning procedure of the mobile unit 102 automatically collectsfingerprint data of the environment in which the mobile unit 102 islocated. In step 702, the mobile unit 102 scans for the presence ofwireless signals associated with wireless network devices. In step 704it is determined whether all receivable wireless signals have beenaccumulated and, if not, the procedure returns to step 702 in whichscanning continues. If all the wireless signals have been accumulated,the procedure continues to step 706 in which the MAC address, signalstrength, and times associated with the wireless signals are sent to theserver 112. In step 708, the server 112 determines whether the wirelessnetwork devices are recognized as being previously detected within thedatabase of the server 112. If the wireless network devices are notrecognized, the procedure continues to step 710 in which the databasewithin server 112 is updated to include the identifying informationassociated with the newly scanned wireless signals. The procedure 700then returns to start. If all the wireless network devices arerecognized in step 708, the procedure continues to step 712 in which alist of the wireless network devices is returned to the mobile unit 102.In step 714 any action associated with a fingerprint represented by thedetected wireless network devices is taken, and the procedure 700 thenreturns to the start.

FIG. 8 illustrates an embodiment of a procedure 800 for scanningwireless network devices and associating an action with a wirelessfingerprint. In step 802, the mobile unit 102 scans for wireless networkdevices. In step 804, the mobile unit 102 determines whether all of theavailable wireless network devices having wireless signals scannable bythe mobile unit 102 have been accumulated. If it is determined in step804 that the scanned wireless network devices have not been accumulated,the procedure returns to step 802 in which the scanning of wirelessnetwork devices is continued. If it is determined in step 804 that thescanned wireless network devices have been accumulated, the procedure800 continues to step 806. In step 806, the mobile unit 102 sends themeasured parameters of each of the scanned wireless network devicesignals to the server 112. The measured parameters may include one ormore of the MAC address, signal strength, time of reception, andlocation of the mobile unit 102 of each of the scanned wireless signalsfrom each of the wireless network devices. In step 808, the server 112determines whether the wireless fingerprint associated with the scannedwireless network devices is recognized by the server 112. If thefingerprint is recognized, the procedure continues to step 810 in whichthe fingerprint is returned from the database of the server 112. In step812, it is determined whether an action associated with the fingerprintis required to be performed. In one embodiment, the determination ofwhether an action is to be performed in association with the recognitionof a wireless fingerprint is done by the mobile unit 102. In still otherembodiments, the recognition of whether an action is required to beperformed by the detection of an associated fingerprint is performed bythe server 112 or by a node associated with the provider network 111. Ifno action is required, the procedure returns to the start. If an actionis required the action is taken in step 814. In various embodiments, theaction may be performed by one or more of the mobile unit 102, theserver 112, or a network node associate with a provider network 111.

If it is determined in step 808 that the fingerprint is not recognized,the procedure continues to step 816 in which a procedure allowing a userto create a fingerprint to be associated with the currently receivedwireless signals is initiated. In step 816, a list of detected wirelessnetwork devices is displayed to the user of the mobile unit 102. In step818, the user is prompted to select one or more of the wireless networkdevices as a group. In step 820 the user selects the wireless networkdevices in the group which are to be included in the created wirelessfingerprint. In other embodiments, step 820 may be omitted and thedesignation of which signals are to be included in the createdfingerprint is performed automatically by the server 112 or the mobileunit 102. In step 822, the user is prompted to designate a location nameto be associated with the selecting group of wireless network devicesthat are to form the fingerprint. In step 824, the user designates thelocation name. For example, the user name may designate a location nameto be associated with a particular group of selected wireless networkdevices as a home, office, or the name of a particular restaurant. Instep 826, the user is prompted to designate an associated action withthe selected group. In a particular embodiment, the user may bepresented with a list of available actions from which to choose from. Instep 828, the user designates the associated action. Examples ofassociated actions may include notification by the mobile unit 102 thata wireless fingerprint associated with the selected group has beendetected, routing incoming calls to a telephonic device at thedesignated location upon detection of the wireless fingerprint, orinitiating an action within a network device such as streaming media toa set-top box connected to a television upon the mobile unit 102detecting the wireless fingerprint associated with the location of theset-top box. In still other examples, the designated action to beassociated with a particular wireless fingerprint may include thelaunching of an application on the mobile unit 102 or to stream audio orvideo to the mobile unit 102 upon detection of the wireless fingerprint.In step 830, the database of the server 112 is updated to include themeasured parameters associated with the wireless fingerprint, thelocation name, and the associated action as well as an identifierassociated with the mobile unit 102 or the user of the mobile unit 102.The procedure 800 then returns.

FIG. 9 illustrates an embodiment of a system for use in a residentialenvironment for controlling a set-top box by a mobile unit based upon adetected wireless fingerprint. In the embodiment illustrated in FIG. 9,a residential structure 900, such as a home, includes a first location902A, a second location 902B and a third location 902C. In a particularembodiment, the first location 902A, second location 902B, and thirdlocation 902C are separate rooms of a home. The first location 902A hasa gateway set-top box 904A connected to a video display device 906Athereat. In a particular embodiment, the first video display device 906Ais a television. The second location has a second set-top box 904Bconnected to a second video display device 906B, and the third location902C has a third set-top box 904C connected to a third video displaydevice 906C. The gateway set-top box 904A, the second set-top box 904B,and the third set-top box 904C are each connected to a televisionprovider 908 via a network such as a cable, DSL network, or wirelessnetwork. The television provider 908 further includes a server 112incorporated therewith. The server 112 includes a database for storingwireless fingerprints as previously described herein. The residentialenvironment includes a plurality of wireless network devices 910A-910Elocated within and/or external to the residential structure 900. Each ofthe plurality of wireless network devices 910A-910E are configured totransmit wireless signals including a MAC address. In variousembodiments, the wireless network devices 910A-910E may include anycombination of wireless signal emitters such as Wi-Fi, Bluetooth, NFCand cellular tower signals. A user 912 having a mobile unit 102 inpossession may be located in the first location 902A, second location902B or third location 902C of the residential structure 900 atdifferent times. The mobile unit 102 is configured to communicate with amobile provider network 914, and the mobile provider network 914 is incommunication with the television provider 908. As previously describedherein, the mobile unit 102 is configured to scan for the presence ofwireless signals from one or more of the wireless network devices910A-910E and perform an action if a previously registered wirelessfingerprint is recognized. In a particular embodiment, the gateway tothe set top box 904A may include Wi-Fi or Bluetooth capability whereasthe second set-top box 904B and the third set-top box 904C may notinclude wireless capability.

In a particular example, the user 912 stands proximate to the gatewayset-top box 904A in the first location 902A and runs an application onthe mobile unit 102 which scans for the presence of wireless signalsfrom the various wireless network devices 902A-902E which are currentlyreceivable. The user 912 may then select an identification of theappropriate set-top box, that is the gateway set-top box 904A that it iscurrently proximate to, and this data is sent to the television provider908 via the mobile provider network 914. A server 112 determines awireless fingerprint and correlates the location of the user 912 withthe wireless fingerprint using heuristics or some similar algorithm.Similarly, the user 912 may stand proximate to each of the secondset-top box 904B and the third set-top box 904C and register the mobileunit 102 with each of them respectively by measuring or determining awireless fingerprint at each of the second location 902B and the thirdlocation 902C. Since the receivable signals and signal strengths of thereceivable signals will differ at each of the first location 902A, thesecond location 902B and the third location 902C, each of the firstlocation 902A, second location 902B, and third location 902C will have adifferent wireless fingerprint associated therewith. Once a mobile unit102 is registered with a particular set-top box, the mobile unit 102 maybe used to control the particular set-top box upon detection of thewireless fingerprint associated with the location of that particularset-top box. Thus, the user 912 is able to move throughout theresidential structure 900 and control particular set-top boxes using themobile unit 102 without requiring the user 912 to designate theparticular set-top box that is desired to be controlled.

In a particular example, the mobile unit 102 is configured to hostphotos using videos or other data. A user then enters the residentialstructure 900 and the mobile unit 102 executes a software application.The application scans for the wireless fingerprint of the currentlocation within the residential structure 900, determines which set-topboxes are available to present photos, music or other data, and themobile unit 102 is authenticated with each of these set-top boxes. In aparticular embodiment, the user may see an indication on the videodisplay device that the mobile unit 102 has been authenticated with theset-top box. Data on the phone, such as music and videos may be thensent over the mobile provider network 914 to the television provider908, then sent to and received by a set-top box within the residentialstructure 900 over the television provider network. In particularembodiments, the audio, video or other presentation may follow the user912 as it moves to different locations throughout the residentialstructure 900 so that it is routed to the appropriate set-top boxassociated with the location in which the user 912 is currentlypositioned. An advantage of such a system is that media may be presentedfrom a mobile unit 102 on video display devices without requiring themobile unit 102 to be authenticated on a Wi-Fi or other home networkassociated with the residential structure 900.

FIG. 10 illustrates an embodiment of a procedure 1000 for registeringthe mobile unit 102 with a set-top box of the residential environmentillustrated in FIG. 9. In step 1002, the mobile unit 102 is placedproximate to the desired set-top box of which the mobile unit 102 is tobe registered. In step 1004, a registration procedure is initiated witha set-top box by the mobile unit 102. In step 1006, the mobile unit 102prompts the user to identify the set to box to which registration iscurrently desired. In step 1008, the mobile unit 102 scans for wirelesssignals from wireless network devices that are receivable by the mobileunit 102. In step 1010, the mobile unit 102 determines whether allwireless network devices that are currently receivable have beenaccumulated. If not, the procedure 1000 returns to step 1008 in whichscanning of wireless network devices is continued. If all wirelessnetwork devices have been accumulated, the procedure continues to step1012 in which the measured parameters associated with the wirelesssignals received from the wireless network devices is sent to the server112. Examples of measured parameters include MAC addresses, signalstrengths, time of reception, derived or implied location of the mobileunit 102, as well as an identification of the mobile unit 102 or a userassociated with the mobile unit 102. In step 1014 the server 112associates the wireless fingerprint generated from the informationobtained from the scanned signals from the wireless network devices withthe identified set-top box. In step 1016 the database associated withserver 112 is updated to include the identifying information associatedwith the wireless fingerprint.

FIG. 11 illustrates an embodiment of a procedure 1100 for controlling aregistered set-top box using a mobile unit 102 based upon a detectedwireless fingerprint. In step 1102, the mobile unit 102 initiates aset-top box application control mode of a software application. In oneembodiment, the initiation of the set-top box control mode may beperformed by a user of the mobile unit 102. In still other embodiments,the initiation of the set-top box application control mode may be formedautomatically upon detection of a wireless fingerprint. In step 1104,the mobile unit 102 is placed proximate to the set-top box. In step1106, the mobile unit 102 scans for wireless signals transmitted by oneor more wireless network devices 910 a-910 e. In step 1108 it isdetermined whether all of the available wireless signals that arereceivable by the mobile unit 102 have been accumulated. If not, theprocedure returns to step 1106 in which scanning continues. If thewireless signal have been accumulated, the procedure 1100 continues tostep 1110 in which measured parameters associated with each of thereceived wireless network signals are sent to the server 112. In step1112, the server 112 determines whether the measured parameters arerecognized as matching a wireless fingerprint associated with aregistered set-top box. If not, the procedure returns to step 1106 inwhich scanning continues. If the measured parameters are recognized asmatching a wireless fingerprint, the procedure continues to step 1114.In step 1114, the server 112 sends an acknowledgement to the mobile unit102. In step 1116, the mobile unit 102 receives a control input from auser which includes a command for the set-top box associated with thematched wireless fingerprint to perform a function such as changing avolume, changing a channel, or initiating playback of multimedia. Instep 1118, an action is initiated in response to the control input. Theprocedure then returns to the start.

Referring now to FIG. 12, there is illustrated one application of thepresently disclosed system. In one application, there is provided amobile unit disposed in a car 1202. Car 1202 is mobile on a road 1204and then moves into a parking space 1206. The parking space 1206 is alocation that has associated therewith a fingerprint stored in thesystem. Of course, if the fingerprint were not previously stored, itcould be stored the first time a mobile unit moved within that location.As described hereinabove, the fingerprint is defined by the externalwireless devices that are associated with a particular location. In thisspecific location, there are four external devices, B, C, D and E.Inside the automobile 1202 is provided a wireless device A. This istypically a Bluetooth transceiver that is operable to interface with amobile unit for voice communication. However, it could be that themobile unit is not interfaced with the particular Bluetooth in theautomobile 1202 but, rather, the mobile unit in the car is merelyconfigured to scan and recognize the presence of the Bluetoothtransceiver that was in the automobile 1202.

Thus, when the automobile 1202 is traversing the road 1204, there willbe multiple external devices that it may be aware of at any point alongthe route. However, the mobile device within the car 1202 will always beable to receive the transmission from the Bluetooth within theautomobile 1202. It should be understood that Bluetooth devices operateunder the 802.11.3 standard, which allows these devices to go to sleepperiodically. When the devices are asleep, there will be no receivedtransmission, such that the scanning operation of the mobile unit is notable to receive such at certain times. Periodically, though, thetransmission from the Bluetooth device A within the automobile 1202 willbe present and is capable of being scanned by the mobile unit.

When the automobile 1202 is present at the location 1206, it will beaware of the presence of the plurality of wireless devices. These willbe the wireless devices B, C, D and E in addition to the wireless deviceA disposed within the automobile 1202. This information can betransmitted to a server (or internally analyzed by the mobile unit) anda fingerprint will be recognized. This fingerprint that is recognizedwill primarily consist of the four external devices (B-E) and theexternal device that is in the car (external is defined as external tothe mobile device), wherein the primary defining portion of thefingerprint is defined by a box 1208 about the scanned devices, notingthat one particular application is external devices separate and apartfrom the external device in the car. The server will recognize thepresence of these four devices and the first indication will be thatthis comprises the location 1206. It will also recognize that the deviceA is also present. The algorithm at the server may be such that itrecognizes that the device A was previously sensed in prior scans and,as such, it will recognize that this device A is to be filtered whendetermining what association this fingerprint has to a particularlocation. Also, the server may recognize that this particularfingerprint is associated with a parking location—the parking location1206.

When the user stops the car in the parking location and, prior toturning the car off, the first location will be recognized by thefingerprint which is defined at a time t₀. At time t=t₀, the device A isstill present and its signal will be present. However, once the car isturned off, a second scanned fingerprint will exist. This will be attime t=t₁. Again, the fingerprint 1208 will be present but the device Awill not be present. However, at this point in time, the lack of thedevice A signal can either mean that the car was turned off or that theBluetooth device within the automobile 1202 went to sleep. This has tobe analyzed, as will be described herein below. Once the user has parkedthe car and turned the car off, the user then moves to a restaurant orother facility or location 1212. At this location, there is now anotherfingerprint that will be scanned by the unit. This is illustrated, forexemplary purposes, as having an additional device F disposed thereat.This device will typically be a WiFi device. The fingerprint for thisdevice is illustrated as containing both the device D and the device F,device D being one of the devices that was actually part of thefingerprint 1208 associated with the location 1206 (in this example onlydue to the proximity to the parking location). This will provide afingerprint 1214 which is recognized by the server as being at location1212. In fact, just the presence of the unique device F at location 1212will indicate to the server that this location constitutes thatestablishment. There may be other devices that are present as theindividual moves around within the establishment that will provide ahigher degree of granularity to the fingerprint. However, the dominantdevice within the fingerprint will be the hot spot device F. The serverwill recognize the presence of the device F and will recognize that thiswill define a “group” of fingerprints that could be present or that havebeen previously recorded. About this dominant device F, a group offingerprints will be searched to determine that, first, the individualis within the establishment and, second, a relative location within thelocation. This could also be used, as is described hereinabove, fordifferent a social application to determine if friends are proximate tothe user within the establishment, which may be indicated by previouslyrecorded fingerprints. It could be that the fingerprint theestablishment 1212 could indicate a particular location therein next to,for example, a television set or such.

Of course, the device A is not present in the scanned fingerprint atthat time and, as such, the fingerprint would not be expected to seesuch and the server will recognize that the individual has walked awayfrom the car. It should be understood that there are two types offingerprints, there is an actual fingerprint designated as FP_(A). Thisis the actual measured fingerprint which represents the signal strengthat that time (when the individual is in the car and device A isoperating). The signal strengths, as described hereinabove, are afunction of the proximity to a particular wireless device, theorientation of the antenna of the mobile device and environmentalconditions that might change. There is also designated the storedfingerprint FP_(s). The box 1208 defines the devices that would be partof the stored fingerprint FP_(s). At time t₀, the illustration shows astored actual fingerprint. It should be understood that the storedfingerprint corresponds to devices that would be within the scannedactual fingerprint, it being understood that the signal strengths may bedifferent between the stored and the actual although both areillustrated together. This is for simplicity purposes. At time t₁, thestored fingerprint and the actual fingerprint are actually the same dueto the fact that the device A has disappeared.

In the application illustrated in FIG. 12, what occurs is that there isan awareness or recognition by the server first that the automobile 1202has been or was present at location 1206. Followed by that, there is anawareness that the device A has disappeared from the fingerprint. Thedisappearance of this device A is an indication to the applicationrunning on the phone that some change has occurred. The serverrecognizes the actual fingerprint FP_(A) at time t₀. It then recognizesthe disappearance of the device A from the fingerprint (it may also beother devices that disappear). Knowing that this device A is theautomobile, there is an initial indication that the car has been turnedoff. However, it is important to ensure that the device A is off and notjust asleep. This is facilitated by multiple scans of the fingerprintand, after a predetermined number of scans, if the device A has notreappeared, then the fingerprinted time t₀ constitutes the fingerprintdefining the location at which the automobile 1202 is disposed at, i.e.,when the automobile was turned off. What the server is looking at is aparticular fingerprint and disappearance of the device A indicating thatthe car has been turned off. This is a particular condition precedentassociated with the particular application. Whenever the device Adisappears, the server initially considers this to be a location wherethe automobile will be parked. However, the device A must be off for acertain period of time. If it is off, for example, 5 or 10 scans, thisis a clear indication that the automobile is in all probability turnedoff. It will then go back to the last fingerprint at t₀ at which thedevice A was present and use that fingerprint as location at which thedevice A was turned off. This fingerprint determines the location basedupon stored information in the server associated with the specificfingerprint that can be correlated with a map. This allows a “pin” to bedropped onto a map, an action that follows a condition precedent. Thisconcept of “dropping a pin” is one action wherein an indicator is placedonto a map automatically without any intervention of the user. The useror individual then goes to the establishment 1212, and enjoys an eveningof dining and frivolity and, as a result of such, may forget where theautomobile 1202 has been left. By reviewing the map, the pin that wasdropped onto the map will tell the individual where the automobile wasparked.

Referring now to FIG. 13, there is illustrated a diagrammatic view ofhow the pin is placed onto the map in the current application described.At a fingerprint S1, the device A is recognized as having disappearedfrom the fingerprint—the condition precedent. Once this device has anindication that it has disappeared, whether it be turned off or it beasleep, this fingerprint is stored in a buffer 1302. This buffer 1302could be in the mobile device or at the server or other place on thenetwork. Once stored, the next scan, a scan S2 is then performed whichcould be at the same location, as indicated. This is compared to aprevious scan for multiple scans, S2, S3 and so on until scan SN. ScanSN this being 5 or 10 scans later, if the device is continuously notthere for either the reason that it is turned off or for the reason thatthe user has taken a mobile unit out of the transmission range of thedevice A, there will be a switch of information in the buffer 1302, thisbeing the fingerprint at the first scan, S1, and this will be then beplaced in a permanent buffer 1304. The indication in the diagram of FIG.13 is essentially the same for all scans. However, this will only be thecase if the user were sitting in the car 1202. The fingerprint couldchange with respect to other devices that are scanned. However, what isimportant is that the device A is sensed as not being present for all ofthe scans and then selecting back in time the fingerprint at which thedevice A first disappeared.

In the application, what occurs is that fingerprints are buffered forwhatever purpose. It could be that fingerprints are buffered and thereis a technique wherein it is recognized that an individual has nowentered the establishment just because, for example, the device F isrecognized. By recognizing device F, the application could be configuredsuch that it makes a decision the individual with the mobile unit is outof their automobile. It would then search backwards in the fingerprintsto the last location where device A was determined as being present. Itwill then associate automobile 1202 with that location and drop a pin ona map. The pin is dropped as a result of recognizing the individualbeing in an establishment and then the system would go back in thebuffer to determine the last place that the device A was present. Assuch, an action has been taken based upon the lack of a device or thedisappearance of a device from a fingerprint or the presence of what isrecognized as being a stable and permanently located device within agroup of fingerprints.

Referring now to FIG. 14, there is illustrated a flow chart depictingthe operation of the embodiments of FIGS. 12 and 13, which is initiatedat a start block 1402 and then proceeds to function block 1404 torecognize the fingerprint with a scan. This is the actual fingerprintthat is scanned and then compared with the database to determine if, forexample, the automobile 1202 is at location 1206. Once this isrecognized, the program then flows to a function block 1406 to accessexpected actions. One expected action, for example, is a terminusaction. This terminus action is an action that, knowing that theautomobile 1206 is at a parking location (this is recognized as aparking location because of the user previous entering such informationor recognizing that mobile units with mobile device IDs had previouslycome there) and this action is possibly the action that is chosen. Afterthe expected actions are accessed, the program flows to a decision block1408 to determine if the terminus action is one that is taken. If not,the program flows along an “N” path to function block 1410 to search forother alternative actions. If, however, the terminus action is the onethat is selected and is associated with the application running on thephone or mobile device and the program flows along the “Y” path tofunction block 1412 to buffer the actual fingerprint at time, t₀. Theprogram then flows to function block 1414 to rescan the external devicesand then to a function block 1416 to compare the new fingerprint withthe buffered fingerprint and then to a decision block 1418 to determineif there is a missing device from the fingerprint. If not, then thesystem clears the buffer and it flows along an “N” path to a block 1420to return to the scanning operation. However, if the device is missingfrom the fingerprint in the buffer, the program flows to a decisionblock 1422 to determine if the maximum number of scans has been reached.If not, the program flows along an “N” path back to the function block1414 and the scan number is incremented in order to rescan the system.This occurs for the maximum number of scan, at which time the programflows from the decision block 1420 to a “Y” path to a function block1424 to take an action based upon the fingerprints stored in the buffer.This is the FP_(buf). This action, as described hereinabove, could beplacing a pin on the map indicating the last location at which theparticular missing device were present.

Referring now to FIG. 15, there is illustrated a flow chart depictingthe operation of scanning, which is initiated at a block 1502. Theprogram flows to function block 1506 to scan the devices and then to adecision block 1508 to recognize which devices are in the scan. Asdescribed hereinabove, there are certain devices such as the device F inFIG. 12 that are dominant devices or fixed devices. By recognizing allthe devices, there may be one device that is a device that frequentlyoccurs within the database. This device will provide an index to a groupof fingerprints. If none of the devices are recognized, however, thiswould indicate that there must be a new fingerprint creation, which isindicated by flow to a function block 1510. However, once the devicesare recognized, this indicates that there are fingerprints in thedatabase associated therewith. The program flows to function block 1512in order to filter these fingerprints by the devices. There may be somedevices that are recognized as being mobile appearing in multipledifferent locations and other devices that are recognized as beingsubstantially fixed, i.e., for the most part they are at a fixedlocation. This could be a situation where, for example, a WiFi devicewas disposed at one location such as a home and then, at a later time,when an individual has moved, the device is moved to a differentlocation. For the most part, it is disposed at a common location whichwill be indicated by a mobile device transmitting information to theserver along with its location information.

Once the fingerprints have been filtered, there are less fingerprints todeal with and, utilizing the heuristic algorithms, there isdetermination made as to whether there is a match based on thisalgorithms, as set forth in a decision block 1514. If not, the programflows along an “N” to a return block 1518. However, if there is a match,this indicates that there is a fingerprint within the system that isassociated with the actual scanned fingerprint. The program then flowsalong a “Y” path to a function block 1520 in order to select theexpected actions associated with that particular fingerprint. In thissystem, there may be many different actions that could be associatedwith a fingerprint, such as placing a pin on a map, bringing uplocations of friends that are in proximity to the mobile unit, turningon external devices in response to the fingerprint, turning on lights,set top boxes. These actions all could be possible with respect to thefingerprint. The program then flows to a function block 1522 in order toexecute the appropriate application based action.

The actions, as described hereinabove, can be multiple actions. They canbe such things as changing the setting on a particular mobile unit orphone, change routing information on a phone. This could be a situationwhere individuals with their phone or mobile unit enters their apartmentand the routing is automatically changed by the communications server ata provider as a result of recognizing to the mobile unit the presence orawareness of devices that constitute part of the fingerprint. A callcould be initiated or any type or communication could be initiated basedupon the awareness of a certain fingerprint. A phone display could bechanged such as when an individual walks into a store and splash page ischanged indicating the presence of coupons or advertising and the such.Further, some settings on the phone could be changed.

He actions taken may be taken in a number of ways. In one instantiation,a phone or mobile device may take a fingerprint and send it to theserver and the server return a match to that phone and the phone canthen do a lookup in the local phone database for any stored action thatmay be associated with that match. Just a match of any type may elicitan action. In another instantiation, the server can see the fingerprint,compare it with the server database store and determine from the“closest” matching fingerprint one or more actions that are associatedwith that fingerprint. The server can either return the one or moreactions to be taken to the phone and the phone determine what of thereturned actions to take or the server can select the action to be takenand send the action to the phone and the phone then either be controlledto take the action or have the option of taking the action. The servercan also instruct another local device to take an action or eveninstruct a remote device to take some type of action. The server canalso instruct another phone that is in the same vicinity to take anaction. This may require the second phone to also see the samefingerprint so that the server has some degree of confidence that thesecond phone is in the same vicinity. As such, the phone can determineits destiny or it can be controlled by the server such that thedeveloper can determine actions to be taken that are a function of thefingerprint. These actions may be parameterized by other aspects, suchas which phone had seen the fingerprint, some action that preceded thisfingerprint capture, etc.

It will be appreciated by those skilled in the art having the benefit ofthis disclosure that this phone system provides a system that scans theenvironment about a mobile personal data device to determine thepresence of other transmitting devices with identifiers embedded intheir transmissions. A fingerprint of these devices is made and storedat a server for later use in a comparison operation. It should beunderstood that the drawings and detailed description herein are to beregarded in an illustrative rather than a restrictive manner, and arenot intended to be limiting to the particular forms and examplesdisclosed. On the contrary, included are any further modifications,changes, rearrangements, substitutions, alternatives, design choices,and embodiments apparent to those of ordinary skill in the art, withoutdeparting from the spirit and scope hereof, as defined by the followingclaims. Thus, it is intended that the following claims be interpreted toembrace all such further modifications, changes, rearrangements,substitutions, alternatives, design choices, and embodiments.

What is claimed is:
 1. A method for providing control in a givenenvironment about a given mobile unit operated by a user, whichenvironment includes one or more broadcast units for broadcastinginformation that includes one or more attributes associated with theoperation of each of the broadcast units in the given environment,comprising the steps of: receiving at the given mobile unit broadcastinformation from at least one of the one or more of the broadcast units;providing a database of fingerprints at a remote node on a network, eachfingerprint comprising a representation of the received attributes ofbroadcast units within the given environment or other environment inwhich the given mobile unit or other mobile units was previously presentand had received broadcast information from any broadcast units forrecording thereof in the database; transmitting the received broadcastinformation to the remote node; comparing at the remote node theattributes associated with the received broadcast information from theat least one or more broadcast units within the given environment withthe stored fingerprints; determining at the remote node if theattributes associated with the received broadcast information from theone or more broadcast units within the given environment match any ofthe stored fingerprints; providing a stored set of predetermined actionsat the remote node related to one or more of the stored fingerprintswhich such actions represent an action that a previous user hadassociated with being in the presence of the associated broadcast units;selecting at the remote node a related one or more of the actions inresponse to the step of determining a match to the attributes of the oneor more broadcast units within the given environment; if a match was notdetermined, the allowing user of the given mobile unit to associate oneof the predetermined stored set of actions with the unmatchedfingerprint as the selected action; and executing the selected action.2. The method of claim 1, wherein the attributes associated with thereceived broadcast information from the one or more broadcast unitswithin the given environment are selected from the group that consistsof RF energy levels of the received signal, a friendly ID of thereceived signal, the MAC address comprising the physical address of aphysical device that comprises the broadcast unit and a geographicallocation of the broadcast unit.
 3. The method of claim 1, wherein thefingerprint varies as a function of the physical proximity of the givenmobile unit to at least one of the one or more of the broadcast units,and wherein each of the at least one of the one or more of the broadcastunits have attributes that differ as a function of physical proximity tothe given mobile unit.
 4. The method of claim 1, wherein the step ofdetermining requires that the match operation only substantially matchstored fingerprint information with attributes associated with thereceived broadcast information from one or more broadcast units withinthe given environment within a predetermined range.
 5. The method ofclaim 4, wherein the step of determining utilizes a predeterminedmatching algorithm to determine if a match occurred.
 6. The method ofclaim 1, wherein the step of executing the action comprises modifyingthe operation of the given mobile unit.
 7. The method of claim 1,wherein the step of executing the action comprises modifying some aspectof the environment surrounding the given mobile unit.
 8. The method ofclaim 7, wherein modifying some aspect of the environment surroundingthe given mobile unit is controlled by a server and not by the givenmobile unit.
 9. The method of claim 1, wherein the fingerprintrepresents the state of any mobile unit within the associatedenvironment at a particular physical location therein.
 10. The method ofclaim 1, wherein the step of selecting the action is independent of anyinteraction by a user of the given mobile unit.
 11. The method of claim1, wherein the action is performed on the given mobile unit.
 12. Themethod of claim 1, wherein one of the other mobile units in the givenenvironment receives substantially the same broadcast information sothat the steps of comparing and determining relative to such othermobile unit results in a match to the same stored fingerprint as thegiven mobile unit and the step of executing the selected action resultsin executing the action relative to the other of the mobile units. 13.The method of claim 1, wherein a fingerprint associated with more thanone of the broadcast units upon user creation can be modified by theuser to eliminate at least one of the associated broadcast units fromthe fingerprint.
 14. A method for providing control in a givenenvironment about a given mobile unit operated by a user, whichenvironment includes one or more broadcast units for broadcastinginformation that includes one or more attributes associated with theoperation of each of the broadcast units in the given environment,comprising the steps of: providing a database of fingerprints at aremote node on a network, each fingerprint comprising a representationof the received attributes of broadcast units external to the givenmobile unit within the given environment or other environment in whichthe given mobile unit or other mobile units was previously present andhad received broadcast information from any broadcast units in thepresence of such given mobile unit or the mobile unit for recordingthereof in the database; capturing at the given mobile unit broadcastinformation from at least one of the one or more of the broadcast unitsexternal to the given mobile unit representing a captured fingerprint;transmitting the captured attributes to the remote node and convertingsuch to a captured fingerprint; comparing the attributes associated withthe captured fingerprint with the stored fingerprints; determining atthe remote node if the attributes associated with the received broadcastinformation from the one or more broadcast units within the givenenvironment converted into the captured fingerprint match any of thestored fingerprints; providing, at the remote node, a stored set of userassociated predetermined actions related to one or more of the storedfingerprints; selecting, as a selected action, a related one or more ofthe actions in response to the step of determining a best match to thecaptured fingerprint if such match exists and, if such match does notexist, creating with user input from the given mobile unit a new userdefined association to the captured fingerprint as the selected action;and executing the selected action.